package com.hbuzzs.shiro.config.shiro;

import org.apache.shiro.crypto.hash.SimpleHash;
import org.apache.shiro.util.ByteSource;

/**
 * @Description shiro MD5加盐加密测试
 * @Author zhangzhishun
 * @Date 2020/10/17-15:55
 */
public class ShiroMD5 {

    /**
     * 加密方式
     */
    private final static String HASH_MODE = "Md5";

    /**
     * 加密次数
     */
    private final static int SALT_NUM = 1024;

    /**
     * 使用用户名作为盐对密码加密
     *
     * @param userName 用户名
     * @param pwd      密码
     * @return 加密后的结果
     */
    public static String shiroMD5(String userName, String pwd) {
        //以用户名作为盐加密
        Object salt = ByteSource.Util.bytes(userName);
        return new SimpleHash(HASH_MODE, pwd, salt, SALT_NUM).toString();
    }

    public static void main(String[] args) {
        System.out.println(shiroMD5("1", "123456"));
    }

}
